import os

class DevelopmentConfig:
    # 基础配置
    SECRET_KEY = os.environ.get('SECRET_KEY', 'dev-secret-key')  # 密钥，开发环境可简化
    DEBUG = True
    TESTING = False
    
    # 数据库配置（优先使用环境变量，默认SQLite）
    SQLALCHEMY_DATABASE_URI = os.environ.get(
        'DATABASE_URI', 
        'postgresql://postgres:123456@192.168.29.130/pytest'
    )

    # 日志配置（假设需要审计日志）
    LOG_LEVEL = 'DEBUG'
    AUDIT_LOG_ENABLED = True
    AUDIT_LOG_PATH = os.path.join(os.getcwd(), 'logs/audit.log')
    

    SQLALCHEMY_TRACK_MODIFICATIONS = False
    
    # 数据库连接池配置
    SQLALCHEMY_ENGINE_OPTIONS = {
        'pool_size': 10,
        'max_overflow': 20,
        'pool_recycle': 1800,
        'pool_pre_ping': True,
        'echo': False  # 生产环境设为False
    }
    
    # 文件上传配置
    UPLOAD_FOLDER = os.path.join(os.getcwd(), 'uploads')
    MAX_CONTENT_LENGTH = 50 * 1024 * 1024  # 50MB
    ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif', 'mp4', 'mp3', 'pdf'}
    
    # JWT配置（从环境变量获取，默认开发密钥）
    JWT_SECRET_KEY = os.environ.get('JWT_SECRET_KEY', 'dev-jwt-secret-1234567890abcdef')
    JWT_ACCESS_TOKEN_EXPIRES = 3600  # 1小时
    
    # 跨域配置
    CORS_ALLOWED_ORIGINS = os.environ.get('CORS_ALLOWED_ORIGINS', 'http://localhost:3000,http://localhost:3002,http://localhost:3003,http://localhost:8081').split(',')
    
    # 执法部门配置（开发环境默认值）
    LAW_ENFORCEMENT_SECRET = os.environ.get('LAW_ENFORCEMENT_SECRET', 'dev-law-secret')
    LAW_ENFORCEMENT_IP_WHITELIST = ['127.0.0.1', '192.168.1.100']
    
    # 服务端口（开发环境默认5000）
    PORT = 5000
    HOST = '0.0.0.0'